package com.pcbly.web.bean;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@SuppressWarnings("serial")
public abstract class AbstractBaseBean implements Serializable {
	private String id;

	private String createUserId;

	private Date createDate;

	private String recycled;

	private Map<String, Object> customProperties;

	private String haveAttach;

	public String getHaveAttach() {
		return haveAttach;
	}

	public void setHaveAttach(String haveAttach) {
		this.haveAttach = haveAttach;
	}

	public Object getValueOfCustomField(String name) {
		return getCustomProperties().get(name);
	}

	public void setValueOfCustomField(String name, Object value) {
		getCustomProperties().put(name, value);
	}

	public Map<String, Object> getCustomProperties() {
		if (customProperties == null)
			customProperties = new HashMap<String, Object>();
		return customProperties;
	}

	public void setCustomProperties(Map<String, Object> customProperties) {
		this.customProperties = customProperties;
	}

	public String getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getRecycled() {
		return recycled;
	}

	public void setRecycled(String recycled) {
		this.recycled = recycled;
	}

	public AbstractBaseBean() {

	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public abstract String toString();

	public abstract boolean equals(Object o);

	public abstract int hashCode();
}
